package com.huike.dao;

import com.huike.po.SystemCustom;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
@Mapper
/**
 * 系统通知相关的操作
 */
public interface SysCustomDAO {
    // 插入一条好友相关的系统通知
    int insertFriendSysCustom (SystemCustom systemCustom);

    // 插入一条自定义的系统通知
    int insertCustomSys (SystemCustom systemCustom);
    // 查询某个用户收到的所有系统通知
    List<SystemCustom> selectSysCustomByAccount (@Param("account") String account);

    // 将某个用户收到的所有系统通知状态修改成已读但未处理
    void updateAllSysCustomToHaveRead (@Param("account") String account);

    // 将指定系统通知修改为已处理,并写入处理内容
    void updateSysCustomToBeHandled (@Param("sysCustomId") int sysCustomId, @Param("handledContent") String handledContent);

    // 删除用户收到的所有系统通知
    void deleteAllSysCustom (@Param("account") String account);

    //12/7
    // 插入一条群聊相关的系统通知
    void insertGroupSysCustom(SystemCustom systemCustom);


//    12/7
// 插入一条被邀请进群的系统通知
    boolean insertInviteGroupSysCustom(SystemCustom systemCustom);
}
